ArangoDB Collections হল ডাটাবেসের একটি গুরুত্বপূর্ণ উপাদান যা ডেটা সঞ্চয় এবং পরিচালনা করতে ব্যবহৃত হয়। ArangoDB-তে, একটি Collection মূলত ডেটা সংরক্ষণের একটি কন্টেইনার, যেখানে ডকুমেন্ট বা এজ ডেটা মডেল সঞ্চিত হয়।
ArangoDB Collections ডেটার কাঠামো এবং অ্যাক্সেসের পদ্ধতি নির্ধারণ করতে সাহায্য করে। এটি ডকুমেন্ট বা গ্রাফ ডেটাবেসের বিভিন্ন প্রয়োজনীয়তার জন্য আলাদাভাবে কনফিগার করা যায়।
ArangoDB-তে দুটি প্রাথমিক ধরণের Collection রয়েছে:
ArangoDB-তে Collection তৈরি করা এবং পরিচালনা করা অত্যন্ত সহজ। নিচে কিছু প্রক্রিয়া তুলে ধরা হলো:
Collection তৈরি করার জন্য ArangoDB Web Interface, AQL, বা API ব্যবহার করা যায়।
CREATE COLLECTION myCollection
ArangoDB Collections ডেটা ভ্যালিডেশনের জন্য স্কিমা নির্ধারণ করতে দেয়, যা ডেটার মান নিশ্চিত করে।
{
"rule": {
"type": "object",
"properties": {
"name": { "type": "string" },
"age": { "type": "number" }
},
"required": ["name", "age"]
},
"level": "strict",
"message": "Invalid data format."
}
ArangoDB Collections ডেটা সঞ্চয় এবং পরিচালনার একটি মৌলিক উপাদান। এটি ডকুমেন্ট এবং এজ উভয় ধরনের ডেটা সমর্থন করে। Collections-এর মাধ্যমে ডেটার কাঠামো, স্কিমা, এবং সম্পর্ক নির্ধারণ সহজ এবং কার্যকর হয়। ArangoDB Collections ডেভেলপারদের জন্য ডেটা মডেলিং এবং অ্যাপ্লিকেশন উন্নয়নের প্রক্রিয়া আরও সুবিধাজনক করে তোলে।
ArangoDB Collections হলো এমন ডেটা স্টোরেজ ইউনিট, যেখানে ডেটা সংরক্ষণ এবং পরিচালনা করা হয়। ArangoDB-তে প্রধানত দুই ধরনের Collections রয়েছে: Document Collection এবং Edge Collection। এরা প্রতিটির নিজস্ব ব্যবহার এবং বৈশিষ্ট্য রয়েছে।
Document Collection হলো JSON ফরম্যাটে ডেটা সংরক্ষণের একটি ডেটা স্টোরেজ। এটি ডকুমেন্ট ভিত্তিক ডেটাবেস মডেল ব্যবহার করে এবং মূলত ডাটা ইন্টিগ্রিটির উপর জোর দেয়।
{
"_key": "user123",
"name": "John Doe",
"email": "john.doe@example.com",
"age": 29
}
Edge Collection মূলত গ্রাফ ডেটাবেসে ব্যবহৃত হয় এবং এটি Vertex বা Node এর মধ্যে সম্পর্ক নির্দেশ করে। প্রতিটি Edge একটি from এবং to ফিল্ড দ্বারা সংযুক্ত থাকে।
{
"_key": "edge123",
"_from": "users/user123",
"_to": "users/user456",
"relation": "friend"
}
বৈশিষ্ট্য | Document Collection | Edge Collection |
---|---|---|
মূল ধারণা | JSON ডকুমেন্ট সংরক্ষণ। | Vertex বা Node এর মধ্যে সম্পর্ক সংরক্ষণ। |
ব্যবহার | সাধারণ ডেটাবেস অপারেশন। | গ্রাফ ডেটাবেস সম্পর্ক মডেলিং। |
ডেটার ধরন | স্বাধীন ডকুমেন্ট। | Directed বা Undirected Edge। |
কোয়েরি অপারেশন | CRUD অপারেশন। | Graph Traversal অপারেশন। |
ArangoDB Collections ডেটা মডেলিংয়ের জন্য একটি গুরুত্বপূর্ণ ফিচার। Document Collection সাধারণ ডেটা সংরক্ষণে ব্যবহৃত হয়, আর Edge Collection জটিল সম্পর্ক এবং গ্রাফ ডেটা মডেল তৈরি করতে ব্যবহৃত হয়। এই বৈশিষ্ট্যগুলি ArangoDB-কে একটি শক্তিশালী মাল্টি-মডেল ডেটাবেস সিস্টেম হিসেবে গড়ে তোলে।
Collection হলো ArangoDB-তে ডেটা সংরক্ষণের একটি মৌলিক ইউনিট। এটি ডেটাবেসে ডকুমেন্ট বা এজ (গ্রাফ ডেটার জন্য) সংরক্ষণের জন্য ব্যবহৃত হয়। ArangoDB-তে Collections তৈরি ও ম্যানেজ করা সহজ এবং এর মাধ্যমে ডেটার কার্যকরী ম্যানেজমেন্ট সম্ভব।
CREATE COLLECTION myCollection TYPE document
TYPE document
: এটি Document Collection তৈরি করে।TYPE edge
: এটি Edge Collection তৈরি করে।db._create("myCollection");
db.myCollection.insert({
name: "John Doe",
age: 30,
city: "Dhaka"
});
db.myCollection.update("documentKey", {
age: 31
});
db.myCollection.remove("documentKey");
db._create("myCollection", {
schema: {
rule: {
type: "object",
properties: {
name: { type: "string" },
age: { type: "integer" }
},
required: ["name", "age"]
}
}
});
ArangoDB-তে Collection তৈরি এবং ম্যানেজমেন্ট অত্যন্ত সহজ এবং কার্যকর। এর মাধ্যমে ডেটার কাঠামো নির্ধারণ এবং ম্যানেজমেন্ট প্রক্রিয়া সহজ হয়। ডেভেলপাররা Web Interface, ArangoShell, এবং AQL ব্যবহার করে Collection পরিচালনার সর্বোচ্চ সুবিধা নিতে পারেন।
Collection Schema কনফিগারেশন ArangoDB-তে ডেটা ভ্যালিডেশনের জন্য ব্যবহৃত হয়। এটি নিশ্চিত করে যে কোনো ডকুমেন্ট বা ডেটা কালেকশনে যোগ করার আগে নির্ধারিত নিয়ম বা স্কিমা মেনে চলছে। স্কিমা কনফিগারেশন আপনাকে ডেটার গুণগত মান ধরে রাখতে এবং ভুল ডেটা এন্ট্রি প্রতিরোধ করতে সাহায্য করে।
ArangoDB-তে JSON Schema ব্যবহার করে স্কিমা কনফিগার করা হয়। এর মাধ্যমে আপনি ডেটার টাইপ, কাঠামো, এবং অন্যান্য ভ্যালিডেশন নিয়ম নির্ধারণ করতে পারেন।
Rule নির্ধারণ করে ডকুমেন্টের কাঠামো এবং ডেটা টাইপ। উদাহরণস্বরূপ:
type
: ডেটার ধরন (যেমন string, number)।properties
: ডকুমেন্টের ফিল্ড এবং তাদের প্রয়োজনীয়তা।required
: কোন ফিল্ডগুলো বাধ্যতামূলক।Level ডেটার ভ্যালিডেশনের কঠোরতা নির্ধারণ করে:
কাস্টম ভ্যালিডেশন ত্রুটি বার্তা যোগ করতে ব্যবহৃত হয়।
নিচের উদাহরণে একটি কালেকশন তৈরি করা হয়েছে যেখানে ডকুমেন্টের name
ফিল্ড একটি স্ট্রিং হতে হবে এবং age
একটি নম্বর হতে হবে।
db._create("MyCollection", {
schema: {
rule: {
type: "object",
properties: {
name: { type: "string" },
age: { type: "number" },
},
required: ["name", "age"],
additionalProperties: false, // অপ্রত্যাশিত ফিল্ড নিষিদ্ধ।
},
level: "strict", // নতুন এবং আপডেট ডেটার জন্য কঠোর ভ্যালিডেশন।
message: "Invalid data format!", // ত্রুটি বার্তা।
},
});
ইতোমধ্যে তৈরি করা কালেকশনের স্কিমা আপডেট করতে:
db._collection("MyCollection").properties({
schema: {
rule: {
type: "object",
properties: {
title: { type: "string" },
description: { type: "string" },
},
required: ["title"],
additionalProperties: true,
},
level: "new",
},
});
db.MyCollection.save({ name: "John", age: 30 });
db.MyCollection.save({ name: 123, age: "thirty" });
ArangoDB-এর Collection Schema ডেটা মডেলিং এবং ভ্যালিডেশন আরও নির্ভুল ও নিরাপদ করে। এটি ডকুমেন্টের কাঠামো, টাইপ, এবং প্রয়োজনীয় ফিল্ড নির্ধারণ করতে সাহায্য করে। কঠোর ভ্যালিডেশন দিয়ে আপনি ডেটার মান নিয়ন্ত্রণ করতে পারেন এবং ভুল ডেটা সংরক্ষণ প্রতিরোধ করতে পারেন।
Data Validation হল ডাটার সঠিকতা, সামঞ্জস্যতা এবং গুণগত মান নিশ্চিত করার একটি প্রক্রিয়া। ArangoDB-তে ডেটা ভ্যালিডেশন মূলত Collections-এর সাথে সম্পর্কিত, যেখানে একটি Schema কনফিগার করা হয় ডেটার নির্দিষ্ট গঠন এবং নিয়ম নির্ধারণের জন্য। এটি ডেটা ইনসার্ট এবং আপডেট করার সময় সঠিক ডেটা নিশ্চিত করে।
নিচের উদাহরণে একটি Collection-এর Schema কনফিগার করা হয়েছে:
{
"rule": {
"type": "object",
"properties": {
"name": { "type": "string" },
"age": { "type": "integer", "minimum": 18 },
"email": { "type": "string", "format": "email" }
},
"required": ["name", "age"]
},
"level": "strict",
"message": "Data validation failed!"
}
strict
, moderate
, বা none
।db._create("my_collection", {
schema: {
rule: {
"type": "object",
"properties": {
"name": { "type": "string" },
"age": { "type": "integer", "minimum": 18 }
},
"required": ["name", "age"]
},
level: "strict",
message: "Invalid data!"
}
});
ইতিমধ্যে তৈরি করা Collection-এ Schema আপডেট করতে:
db._collection("my_collection").properties({
schema: {
rule: {
"type": "object",
"properties": {
"name": { "type": "string" },
"age": { "type": "integer", "minimum": 18 },
"email": { "type": "string", "format": "email" }
},
"required": ["name", "age"]
},
level: "moderate",
message: "Validation error!"
}
});
ডেটা ইনসার্ট বা আপডেট করার সময় ভ্যালিডেশন ব্যর্থ হলে ArangoDB একটি ত্রুটি বার্তা প্রদান করে।
উদাহরণ:
{
"error": true,
"code": 400,
"errorMessage": "Validation error!"
}
ArangoDB-তে Data Validation একটি শক্তিশালী টুল যা ডেটার গুণমান এবং সঠিকতা নিশ্চিত করতে সহায়ক। এটি JSON Schema-র মাধ্যমে নিয়ম সংজ্ঞায়িত করে এবং স্বয়ংক্রিয়ভাবে ডেটা ভ্যালিডেশন সম্পন্ন করে। ডেভেলপাররা এই বৈশিষ্ট্যটি ব্যবহার করে আরও নির্ভরযোগ্য এবং কার্যকর ডাটাবেস তৈরি করতে পারেন।
common.read_more